Conventional web browsers may have provided a sub-optimal experience for some enterprise applications. An enterprise application may include software hosted on an application server that provides services to users belonging to an enterprise. A conventional web browser may have required applications, including enterprise applications, to deliver content and functionality in a browser window using hypertext markup language (HTML), JavaScript, and so on. While providing an open, generic, global approach to content delivery, this requirement may have limited the richness of possible interactions between web browsers and enterprise applications.
To address these limitations, some browsers have employed plug-ins and/or web browser extensions. Plug-ins may be added to a browser to provide additional functionality. For example, a generic browser may not be able to display graphics of a certain type. Thus, a type-specific plug-in may be provided to the browser to facilitate displaying that graphics type. However, an application providing the content of that graphics type may still be limited to display only in the browser window.
Firefox® is a web browser supported by the Mozilla Foundation. Firefox® employs a browser extension manager to manage web browser extensions. A web browser extension is a code package that can be installed into a browser and/or client device (e.g., computer) running a browser. The extension may add a new feature to a browser, extend an existing functionality, modify a visual theme, and so on. This browser may employ an extensible markup language (XML) user-interface language (XUL, pronounced zuul) to describe and support application user interfaces. XUL provides an overlay functionality that facilitates merging user interfaces from different sources into one user interface (ui). For example, ui from a browser and a browser extension(s) may be merged. Recall that a browser extension may provide additional functionality for a browser. This functionality may include, for example, additional ui features (e.g., toolbar, menu) that facilitate customizing a browser ui.
The collective ui adornment for a browser (e.g., border, menus, frames, toolbars, buttons, scrollbars) may be referred to as “browser chrome” or just “chrome”. A browser extension may interact with the browser chrome. A browser extension may include a XUL file(s), JavaScript, a style sheet(s), an image(s), and so on. This set of items may be loaded into a single package (e.g., Zip file). The package may be loaded into, unwrapped by, and installed on a client device associated with a browser. Once installed, package components may be operably connected to a browser and/or browser object(s) using the XUL overlay feature. Though added to a browser, browser extension code may remain separate and removable. An extension may reside in a browser and/or client device rather than being part of a web page transmitted by a web service (e.g., enterprise application) to the browser and/or client. So, conventional systems may employ functionality (e.g., XUL) to facilitate enhancing web browsers via web browser extensions.